package com.ys.web.ws.send.mapper;

import com.ys.base.BaseMapper;
import com.ys.web.ws.send.po.GChatPO;
import com.ys.web.ws.send.po.GChatReadPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * @ 名称:
 * @ 创建人: dhf
 * @ 参数： null
 * @ 创建时间: 2022/5/11
 * @ 修改人和其它信息
 * @ 返回值:
 */
@Mapper
public interface GChatReadMapper extends BaseMapper<GChatReadPO> {

    /**
     * @param toId    用户id
     * @param groupId 组id
     * @title selectInfo
     * @description 获取用户当前在该群读取的最大id
     * @author dhf
     * @return: com.ys.web.ws.send.po.GChatReadPO
     */
    GChatReadPO selectInfo(@Param("toId") String toId, @Param("groupId") String groupId);

    /**
     * @title updateGChatReadList
     * @description 批量修改用户读取过的最大id值
     * @author dhf
     */
    int updateGChatReadList(@Param("maxId") long maxId, @Param("fromId") long fromId, @Param("to") long to);

    /**
     * @param ids     用户id集合
     * @param groupId 组id
     * @title selectListByIds
     * @description 对应组id下  id集合中用户的最大信息读取记录
     * @author dhf
     * @return: java.util.List<com.ys.web.ws.send.po.GChatReadPO>
     */
    List<GChatReadPO> selectListByIds(@Param("list") List<String> ids, @Param("groupId") String groupId);

    /**
     * @param from 来自
     * @param to   到
     * @title selectObject
     * @description 查询用户群组已读消息
     * @author dhf
     * @return: com.ys.web.ws.send.po.GChatReadPO
     */
    GChatReadPO selectObject(@Param("from") Long from, @Param("to") Long to);

    /**
     * @title addEntity
     * @description 添加实体
     * @author dhf
     * @param groupId 组id
     * @param memberIds 成员id
     */
    void addEntity(@Param("groupId") String groupId,@Param("memberIds") List<String> memberIds,@Param("maxMessageId") Long maxMessageId);
}
